import Vue from 'vue'
import App from './App.vue'
import router from './router'

// 导入全局样式
import './styles/Challenge.css'
// 导入额外的全局样式
import './assets/global.css'
// 导入弹窗工具
import MessageDialog from './utils/messageDialog'
// 导入新的弹窗服务
import Dialog from './utils/dialog'

Vue.config.productionTip = false

// 禁用浏览器原生弹窗
Vue.config.warnHandler = function(msg, vm, trace) {
  console.warn(msg, trace)
}

// 全局错误处理
Vue.config.errorHandler = function(err, vm, info) {
  console.error(err, info)
}

// 将弹窗工具挂载到Vue原型上，使所有组件都能访问
Vue.prototype.$messageDialog = MessageDialog
// 挂载新的弹窗服务
Vue.prototype.$dialog = Dialog

// 添加全局快捷方法，用于调试
Vue.prototype.$showMessage = function(message, type = 'info') {
  console.log('Showing message dialog:', message, type);
  return this.$dialog[type](message).then(() => {
    console.log('Message dialog closed');
  });
}

// 拦截原生alert，改为使用我们的弹窗组件
window.nativeAlert = window.alert
window.alert = function(message) {
  console.log('Alert message:', message)
  // 恢复使用原生alert
  window.nativeAlert(message);
}

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')
